package checkIfPrerequisite;

import javax.swing.plaf.FontUIResource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Solution {
    // 记忆化搜索
//    int[][] visited;
//    public List<Boolean> checkIfPrerequisite(int numCourses, int[][] prerequisites, int[][] queries) {
//        List<Boolean> ans = new ArrayList<>();
//        visited = new int[numCourses][numCourses];
//        // 初始化有向图
//        List<Integer>[] graph = new List[numCourses];
//        for (int i = 0; i < graph.length; i++) {
//            graph[i] = new ArrayList<>();
//        }
//        for (int i = 0; i < prerequisites.length; i++) {
//            graph[prerequisites[i][0]].add(prerequisites[i][1]);
//        }
//        // 判断图中两点是不是连通的
//        for (int i = 0; i < queries.length; i++) {
//            ans.add(check(graph,queries[i][0],queries[i][1]));
//        }
//        return ans;
//    }
//    // 判断点ui到点vi之间有没有路
//    private boolean check(List<Integer>[] graph,int ui,int vi) {
//        if(visited[ui][vi] == 1) return true;
//        if(visited[ui][vi] == 2) return false;
//        if(ui == vi) return true;
//        boolean ans = false;
//        for (int i = 0; i < graph[ui].size(); i++) {
//            ans = ans||check(graph,graph[ui].get(i),vi);
//        }
//        if(ans == true) {
//            visited[ui][vi] = 1;
//            visited[vi][ui] = 2;
//        } else {
//            visited[ui][vi] = 2;
//        }
//        return ans;
//    }

}
